home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / form.vim < prev    next >
Encoding:
Text File  |  2001-05-11  |  3.3 KB  |  102 lines

  1. " Vim syntax file
  2. " Language:    FORM
  3. " Maintainer:    Michael M. Tung <michael.tung@uni-mainz.de>
  4. " Last Change:    2001 May 10
  5.  
  6. " First public release based on 'Symbolic Manipulation with FORM'
  7. " by J.A.M. Vermaseren, CAN, Netherlands, 1991.
  8. " This syntax file is still in development. Please send suggestions
  9. " to the maintainer.
  10.  
  11. " For version 5.x: Clear all syntax items
  12. " For version 6.x: Quit when a syntax file was already loaded
  13. if version < 600
  14.   syntax clear
  15. elseif exists("b:current_syntax")
  16.   finish
  17. endif
  18.  
  19. syn case ignore
  20.  
  21. " A bunch of useful FORM keywords
  22. syn keyword formType        global local
  23. syn keyword formHeaderStatement    symbol symbols cfunction cfunctions
  24. syn keyword formHeaderStatement    function functions vector vectors
  25. syn keyword formHeaderStatement    set sets index indices
  26. syn keyword formHeaderStatement    dimension dimensions unittrace
  27. syn keyword formStatement    id identify drop skip
  28. syn keyword formStatement    write nwrite
  29. syn keyword formStatement    format print nprint load save
  30. syn keyword formStatement    bracket brackets
  31. syn keyword formStatement    multiply count match only discard
  32. syn keyword formStatement    trace4 traceN contract symmetrize antisymmetrize
  33. syn keyword formConditional    if else endif while
  34. syn keyword formConditional    repeat endrepeat label goto
  35.  
  36. " some special functions
  37. syn keyword formStatement    g_ gi_ g5_ g6_ g7_ 5_ 6_ 7_
  38. syn keyword formStatement    e_ d_ delta_ theta_ sum_ sump_
  39.  
  40. " pattern matching for keywords
  41. syn match   formComment        "^\ *\*.*$"
  42. syn match   formComment        "\;\ *\*.*$"
  43. syn region  formString        start=+"+  end=+"+
  44. syn region  formString        start=+'+  end=+'+
  45. syn match   formPreProc        "^\=\#[a-zA-z][a-zA-Z0-9]*\>"
  46. syn match   formNumber        "\<\d\+\>"
  47. syn match   formNumber        "\<\d\+\.\d*\>"
  48. syn match   formNumber        "\.\d\+\>"
  49. syn match   formNumber        "-\d" contains=Number
  50. syn match   formNumber        "-\.\d" contains=Number
  51. syn match   formNumber        "i_\+\>"
  52. syn match   formNumber        "fac_\+\>"
  53. syn match   formDirective    "^\=\.[a-zA-z][a-zA-Z0-9]*\>"
  54.  
  55. " hi User Labels
  56. syn sync ccomment formComment minlines=10
  57.  
  58. " Define the default highlighting.
  59. " For version 5.7 and earlier: only when not done already
  60. " For version 5.8 and later: only when an item doesn't have highlighting yet
  61. if version >= 508 || !exists("did_form_syn_inits")
  62.   if version < 508
  63.     let did_form_syn_inits = 1
  64.     command -nargs=+ HiLink hi link <args>
  65.   else
  66.     command -nargs=+ HiLink hi def link <args>
  67.   endif
  68.  
  69.   HiLink formConditional    Conditional
  70.   HiLink formNumber        Number
  71.   HiLink formStatement        Statement
  72.   HiLink formComment        Comment
  73.   HiLink formPreProc        PreProc
  74.   HiLink formDirective        PreProc
  75.   HiLink formType        Type
  76.   HiLink formString        String
  77.  
  78.   if !exists("form_enhanced_color")
  79.     HiLink formHeaderStatement    Statement
  80.   else
  81.   " enhanced color mode
  82.     HiLink formHeaderStatement    HeaderStatement
  83.     " dark and a light background for local types
  84.     if &background == "dark"
  85.       hi HeaderStatement term=underline ctermfg=LightGreen guifg=LightGreen gui=bold
  86.     else
  87.       hi HeaderStatement term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold
  88.     endif
  89.     " change slightly the default for dark gvim
  90.     if has("gui_running") && &background == "dark"
  91.       hi Conditional guifg=LightBlue gui=bold
  92.       hi Statement guifg=LightYellow
  93.     endif
  94.   endif
  95.  
  96.   delcommand HiLink
  97. endif
  98.  
  99.   let b:current_syntax = "form"
  100.  
  101. " vim: ts=8
  102.